package com.liush.srb.core.controller.api;

import com.liush.srb.base.result.ResponseVo;
import com.liush.srb.core.pojo.entity.Dict;
import com.liush.srb.core.service.DictService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Author: liush
 * @CreateTime: 2023-04-06  20:03
 * @Description: 数据字典 前端控制器
 */
@Api(tags = "数据字典模块")
@RestController
@RequestMapping("/api/core/dict")
public class ApiDictController {

    @Resource
    DictService dictService;

    // 实现方式
    //1、一组组查询： 根据数据字典的dictcode值来查询自己下一级的数据字典（industry查询行业的二级数据字典）
    //以后查询一级下的二级数据字典集合需求使用较多
    //2、查询每个一级数据字典和它的下一级的数据字典集合，将他们存到Map<dictCode,二级数据字典集合>中
    @ApiOperation("根据一级数据字典dictCode查询二级数据字典集合")
    @GetMapping("list/{dictCode}")
    public ResponseVo listByDictCode(@PathVariable("dictCode") String dictCode) {
        List<Dict> dicts = dictService.getByDictCode(dictCode);
        return ResponseVo.ok().data("items", dicts);
    }
}
